﻿using System.Collections.Generic;
using Cesave.Domain.PermisosModule.Entities;
using System;

namespace Cesave.Domain.PermisosModule.Contracts.Estados
{
	/// <summary>
	/// 
	/// </summary>
	public interface IEstadoService
		: IDisposable
	{
		/// <summary>
		/// 
		/// </summary>
		/// <param name="status"></param>
		/// <returns></returns>
		List<Estado> FindEstadosByStatus(bool status);

		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		List<Estado> FindAllEstados();

		/// <summary>
		/// 
		/// </summary>
		/// <param name="estadoGuid"></param>
		/// <returns></returns>
		Estado FindEstadoByGuid(Guid estadoGuid);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="estado"></param>
		void ChangeEstado(Estado estado);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="estado"></param>
		void ActivateEstado(Estado estado);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="estado"></param>
		void DeactivateEstado(Estado estado);
	}
}
